//
//  CZStausListViewModel.swift
//  sinaSwifWeiBo
//
//  Created by 张雪雪 on 16/3/3.
//  Copyright © 2016年 张雪雪. All rights reserved.
//

import UIKit
import AFNetworking



class CZStatusListViewModel: NSObject {

    //定义成员变量，来接受数据
    lazy var array: [CZStatusViewModel] = [CZStatusViewModel]()
    
    
    //MARK:--网络请求
    func loadData(since_id: Int,max_id: Int,finish: (count : Int) -> ()){
        
        //创建网络请求
        let afn = AFHTTPSessionManager()
        
        //拼接参数
        /**
        access_token	true	string	采用OAuth授权方式为必填参数，OAuth授权后获得。
        since_id	false	int64	若指定此参数，则返回ID比since_id大的微博（即比since_id时间晚的微博），默认为0。
        max_id	false	int64	若指定此参数，则返回ID小于或等于max_id的微博，默认为0。
        count	false	int	单页返回的记录条数，最大不超过100，默认为20。
        */
        
        let params = ["access_token":CZUserViewModel.shareInstance.access_token ?? "",
            "max_id":max_id,
            "since_id":since_id
        ];
        
        //发送请求
        afn.GET("https://api.weibo.com/2/statuses/friends_timeline.json", parameters: params, progress: nil, success: { (_, JSON) -> Void in
            //print(JSON)
            //获取statuess 数据
            //字典转模型 ->
            
            if let json = JSON as? [String: NSObject]{
                
                //千万不要手写statuses
                if let statues = json["statuses"] as? [[String : NSObject]]{

                    //定义一个临时数组
                    var temp = [CZStatusViewModel]()
                    
                    //对数组进行遍利
                    for statue in statues{
                        
                        let statusModel = CZStatusModel(dic: statue)
                        
                       // print(statusModel.user?.screen_name ?? "")
                        
                        //添加到数组里
                        //self.array.append(statusModel)
                        let viewModel = CZStatusViewModel()
                        
                        viewModel.statusModel = statusModel
                        
                        temp.append(viewModel)

                        // print(self.array)
                        
                    }
                    
                        if max_id > 0 {
                            // 是不是上拉更多的数据
                            self.array = self.array + temp
                            
                        } else {
                            
                            self.array = temp + self.array
                            
                        }
                        
                        //刷新UI
//                        self.tableView.reloadData(viewModel)
                        finish(count: temp.count)
                    }
                    
                }
                

            
            }) { (_ , error) -> Void in
                
                print(error)
        }
    }
}



